<?php

namespace App\Http\Controllers;

use Illuminate\Http\Request;
use DB;
use Hash;
use App\Http\Requests;
use App\Http\Controllers\Controller;

class UserController extends Controller
{
    /**
    *   用户的天际页面
    */
    public function getAdd()
    {
        return view('user/add');
    }

    /**
    *   用户的信息添加方法
    */
    public function postInsert(Request $request)
    {
        //接收数据
        // if(!$request->input('username')) {

        //     return back()->with('error','用户不存在');
        // }
        $this->validate($request, [
            'username' => 'required',
            'password' => 'required',
            'repassword'=>'required | same:password',
            'email'=>'required | email:email', 
            
        ],[
            'username.required'=>'用户名不能为空',
            'password.required'=>'密码不能为空',
            'repassword.required' =>'确认密码不能为空',
            'repassword.same'=>'两次密码不一致',
            'email.required'=>'邮箱不能为空',
            'email.email'=>'邮箱格式不正确',
        ]);
        //获取数据
        $res = $request->except('repassword','_token');
        $res['password'] = Hash::make($res['password']);
        $res['token'] = str_random(30);
        //将数据插入到数据库
        $pro=DB::table('user')->insert($res);
        if($pro) {

            return redirect('/admin/user/index')->with('success','用户添加成功');

        } else {
            // return back()->withInput($res);
        }
    }

    /**
    *   用户列表
    */
    public function getIndex(Request $request)
    {
        $row = $request->all();
        // var_dump($row);
       $res = DB::table('user')->
        where('username','like','%'.$request->input('search').'%')->
        paginate($request->input('num',10));
         return view('/user/index',['row'=>$res,'request'=>$request->all()]);
        
    }
    /**
    *   用户的删除
    */
    public function getDelete(Request $request)
    {
        //接收传过来的id
        $id =$request->input('id');
        // var_dump($id);
        //删除
        $res = DB::table('user')->where('id',$id)->delete();
        // var_dump($res);
        if($res) {
            return redirect('/admin/user/index')->with('success','删除成功');
        } else{

            return redirect('/admin/user/index')->with('error','删除失败');
        }
    }

    /**
    *   用户修改页面
    */
    public function getEdit(Request $request)
    {
        //接收传过来的ID
        $id=$request->input('id');
        // echo $id;
        //根据id查出数据
        $res=DB::table('user')->where('id',$id)->first();
        // var_dump($res);
        return view('/user/edit',['row'=>$res]);
    }

    /**
    *   用户修改
    */
    public function postUpdate(Request $request)
    {
        //接收数据
        $id=$request->only('id');
        // var_dump($id);
        $res =$request->except('_token','id');
        // var_dump($res);
        $this->validate($request,[
            'username'=>'required',
            'email'=>'required',
            ],[
            'username.required'=>'用户名不能为空',
            'email.required'=>'邮箱不能为空',
            ]);
        //插入数据库
        $result =DB::table('user')->where('id',$id)->update($res);
        if ($result) {
            return redirect('/admin/user/index')->with('success','修改成功');
        } else {
            return back()->with('error','修改失败');
        }
    }
}
